home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QD3DErrors.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  12.5 KB  |  299 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DErrors.p
  3.  
  4.      Contains:    Error API and error codes                                        
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.4
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT QD3DErrors;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __QD3DERRORS__}
  27. {$SETC __QD3DERRORS__ := 1}
  28.  
  29. {$I+}
  30. {$SETC QD3DErrorsIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __QD3D__}
  34. {$I QD3D.p}
  35. {$ENDC}
  36.  
  37. {$IFC TARGET_OS_MAC }
  38. {$IFC UNDEFINED __MACTYPES__}
  39. {$I MacTypes.p}
  40. {$ENDC}
  41. {$ENDC}  {TARGET_OS_MAC}
  42.  
  43.  
  44. {$PUSH}
  45. {$ALIGN POWER}
  46. {$LibExport+}
  47.  
  48. {*****************************************************************************
  49.  **                                                                             **
  50.  **                            Error Types and Codes                             **
  51.  **                                                                             **
  52.  ****************************************************************************}
  53.  
  54. TYPE
  55.     TQ3Error                     = LONGINT;
  56. CONST
  57.     kQ3ErrorNone                = {TQ3Error}0;                    {  Fatal Errors  }
  58.     kQ3ErrorInternalError        = {TQ3Error}-28500;
  59.     kQ3ErrorNoRecovery            = {TQ3Error}-28499;
  60.     kQ3ErrorLastFatalError        = {TQ3Error}-28498;                {  System Errors  }
  61.     kQ3ErrorNotInitialized        = {TQ3Error}-28490;
  62.     kQ3ErrorAlreadyInitialized    = {TQ3Error}-28489;
  63.     kQ3ErrorUnimplemented        = {TQ3Error}-28488;
  64.     kQ3ErrorRegistrationFailed    = {TQ3Error}-28487;                {  OS Errors  }
  65.     kQ3ErrorUnixError            = {TQ3Error}-28486;
  66.     kQ3ErrorMacintoshError        = {TQ3Error}-28485;
  67.     kQ3ErrorX11Error            = {TQ3Error}-28484;                {  Memory Errors  }
  68.     kQ3ErrorMemoryLeak            = {TQ3Error}-28483;
  69.     kQ3ErrorOutOfMemory            = {TQ3Error}-28482;                {  Parameter errors  }
  70.     kQ3ErrorNULLParameter        = {TQ3Error}-28481;
  71.     kQ3ErrorParameterOutOfRange    = {TQ3Error}-28480;
  72.     kQ3ErrorInvalidParameter    = {TQ3Error}-28479;
  73.     kQ3ErrorInvalidData            = {TQ3Error}-28478;
  74.     kQ3ErrorAcceleratorAlreadySet = {TQ3Error}-28477;
  75.     kQ3ErrorVector3DNotUnitLength = {TQ3Error}-28476;
  76.     kQ3ErrorVector3DZeroLength    = {TQ3Error}-28475;                {  Object Errors  }
  77.     kQ3ErrorInvalidObject        = {TQ3Error}-28474;
  78.     kQ3ErrorInvalidObjectClass    = {TQ3Error}-28473;
  79.     kQ3ErrorInvalidObjectType    = {TQ3Error}-28472;
  80.     kQ3ErrorInvalidObjectName    = {TQ3Error}-28471;
  81.     kQ3ErrorObjectClassInUse    = {TQ3Error}-28470;
  82.     kQ3ErrorAccessRestricted    = {TQ3Error}-28469;
  83.     kQ3ErrorMetaHandlerRequired    = {TQ3Error}-28468;
  84.     kQ3ErrorNeedRequiredMethods    = {TQ3Error}-28467;
  85.     kQ3ErrorNoSubClassType        = {TQ3Error}-28466;
  86.     kQ3ErrorUnknownElementType    = {TQ3Error}-28465;
  87.     kQ3ErrorNotSupported        = {TQ3Error}-28464;                {  Extension Errors  }
  88.     kQ3ErrorNoExtensionsFolder    = {TQ3Error}-28463;
  89.     kQ3ErrorExtensionError        = {TQ3Error}-28462;
  90.     kQ3ErrorPrivateExtensionError = {TQ3Error}-28461;            {  Geometry Errors  }
  91.     kQ3ErrorDegenerateGeometry    = {TQ3Error}-28460;
  92.     kQ3ErrorGeometryInsufficientNumberOfPoints = {TQ3Error}-28459; {  IO Errors  }
  93.     kQ3ErrorNoStorageSetForFile    = {TQ3Error}-28458;
  94.     kQ3ErrorEndOfFile            = {TQ3Error}-28457;
  95.     kQ3ErrorFileCancelled        = {TQ3Error}-28456;
  96.     kQ3ErrorInvalidMetafile        = {TQ3Error}-28455;
  97.     kQ3ErrorInvalidMetafilePrimitive = {TQ3Error}-28454;
  98.     kQ3ErrorInvalidMetafileLabel = {TQ3Error}-28453;
  99.     kQ3ErrorInvalidMetafileObject = {TQ3Error}-28452;
  100.     kQ3ErrorInvalidMetafileSubObject = {TQ3Error}-28451;
  101.     kQ3ErrorInvalidSubObjectForObject = {TQ3Error}-28450;
  102.     kQ3ErrorUnresolvableReference = {TQ3Error}-28449;
  103.     kQ3ErrorUnknownObject        = {TQ3Error}-28448;
  104.     kQ3ErrorStorageInUse        = {TQ3Error}-28447;
  105.     kQ3ErrorStorageAlreadyOpen    = {TQ3Error}-28446;
  106.     kQ3ErrorStorageNotOpen        = {TQ3Error}-28445;
  107.     kQ3ErrorStorageIsOpen        = {TQ3Error}-28444;
  108.     kQ3ErrorFileAlreadyOpen        = {TQ3Error}-28443;
  109.     kQ3ErrorFileNotOpen            = {TQ3Error}-28442;
  110.     kQ3ErrorFileIsOpen            = {TQ3Error}-28441;
  111.     kQ3ErrorBeginWriteAlreadyCalled = {TQ3Error}-28440;
  112.     kQ3ErrorBeginWriteNotCalled    = {TQ3Error}-28439;
  113.     kQ3ErrorEndWriteNotCalled    = {TQ3Error}-28438;
  114.     kQ3ErrorReadStateInactive    = {TQ3Error}-28437;
  115.     kQ3ErrorStateUnavailable    = {TQ3Error}-28436;
  116.     kQ3ErrorWriteStateInactive    = {TQ3Error}-28435;
  117.     kQ3ErrorSizeNotLongAligned    = {TQ3Error}-28434;
  118.     kQ3ErrorFileModeRestriction    = {TQ3Error}-28433;
  119.     kQ3ErrorInvalidHexString    = {TQ3Error}-28432;
  120.     kQ3ErrorWroteMoreThanSize    = {TQ3Error}-28431;
  121.     kQ3ErrorWroteLessThanSize    = {TQ3Error}-28430;
  122.     kQ3ErrorReadLessThanSize    = {TQ3Error}-28429;
  123.     kQ3ErrorReadMoreThanSize    = {TQ3Error}-28428;
  124.     kQ3ErrorNoBeginGroup        = {TQ3Error}-28427;
  125.     kQ3ErrorSizeMismatch        = {TQ3Error}-28426;
  126.     kQ3ErrorStringExceedsMaximumLength = {TQ3Error}-28425;
  127.     kQ3ErrorValueExceedsMaximumSize = {TQ3Error}-28424;
  128.     kQ3ErrorNonUniqueLabel        = {TQ3Error}-28423;
  129.     kQ3ErrorEndOfContainer        = {TQ3Error}-28422;
  130.     kQ3ErrorUnmatchedEndGroup    = {TQ3Error}-28421;
  131.     kQ3ErrorFileVersionExists    = {TQ3Error}-28420;                {  View errors  }
  132.     kQ3ErrorViewNotStarted        = {TQ3Error}-28419;
  133.     kQ3ErrorViewIsStarted        = {TQ3Error}-28418;
  134.     kQ3ErrorRendererNotSet        = {TQ3Error}-28417;
  135.     kQ3ErrorRenderingIsActive    = {TQ3Error}-28416;
  136.     kQ3ErrorImmediateModeUnderflow = {TQ3Error}-28415;
  137.     kQ3ErrorDisplayNotSet        = {TQ3Error}-28414;
  138.     kQ3ErrorCameraNotSet        = {TQ3Error}-28413;
  139.     kQ3ErrorDrawContextNotSet    = {TQ3Error}-28412;
  140.     kQ3ErrorNonInvertibleMatrix    = {TQ3Error}-28411;
  141.     kQ3ErrorRenderingNotStarted    = {TQ3Error}-28410;
  142.     kQ3ErrorPickingNotStarted    = {TQ3Error}-28409;
  143.     kQ3ErrorBoundsNotStarted    = {TQ3Error}-28408;
  144.     kQ3ErrorDataNotAvailable    = {TQ3Error}-28407;
  145.     kQ3ErrorNothingToPop        = {TQ3Error}-28406;                {  Renderer Errors  }
  146.     kQ3ErrorUnknownStudioType    = {TQ3Error}-28405;
  147.     kQ3ErrorAlreadyRendering    = {TQ3Error}-28404;
  148.     kQ3ErrorStartGroupRange        = {TQ3Error}-28403;
  149.     kQ3ErrorUnsupportedGeometryType = {TQ3Error}-28402;
  150.     kQ3ErrorInvalidGeometryType    = {TQ3Error}-28401;
  151.     kQ3ErrorUnsupportedFunctionality = {TQ3Error}-28400;        {  Group Errors  }
  152.     kQ3ErrorInvalidPositionForGroup = {TQ3Error}-28399;
  153.     kQ3ErrorInvalidObjectForGroup = {TQ3Error}-28398;
  154.     kQ3ErrorInvalidObjectForPosition = {TQ3Error}-28397;        {  Transform Errors  }
  155.     kQ3ErrorScaleOfZero            = {TQ3Error}-28396;                {  String Errors  }
  156.     kQ3ErrorBadStringType        = {TQ3Error}-28395;                {  Attribute Errors  }
  157.     kQ3ErrorAttributeNotContained = {TQ3Error}-28394;
  158.     kQ3ErrorAttributeInvalidType = {TQ3Error}-28393;            {  Camera Errors  }
  159.     kQ3ErrorInvalidCameraValues    = {TQ3Error}-28392;                {  DrawContext Errors  }
  160.     kQ3ErrorBadDrawContextType    = {TQ3Error}-28391;
  161.     kQ3ErrorBadDrawContextFlag    = {TQ3Error}-28390;
  162.     kQ3ErrorBadDrawContext        = {TQ3Error}-28389;
  163.     kQ3ErrorUnsupportedPixelDepth = {TQ3Error}-28388;            {  Controller Errors  }
  164.     kQ3ErrorController            = {TQ3Error}-28387;                {  Tracker Errors  }
  165.     kQ3ErrorTracker                = {TQ3Error}-28386;                {  Another OS Error  }
  166.     kQ3ErrorWin32Error            = {TQ3Error}-28385;                {  Object Errors  }
  167.     kQ3ErrorTypeAlreadyExistsAndHasSubclasses = {TQ3Error}-28384;
  168.     kQ3ErrorTypeAlreadyExistsAndOtherClassesDependOnIt = {TQ3Error}-28383;
  169.     kQ3ErrorTypeAlreadyExistsAndHasObjectInstances = {TQ3Error}-28382; {  submit loop errors: if you ever get one of these check the previous }
  170.                                                                 {  error posted, it may be kQ3ErrorOutOfMemory.  If so you *may* be able }
  171.                                                                 {  to recover by freeing up some memory and trying again }
  172.     kQ3ErrorPickingLoopFailed    = {TQ3Error}-28381;
  173.     kQ3ErrorRenderingLoopFailed    = {TQ3Error}-28380;
  174.     kQ3ErrorWritingLoopFailed    = {TQ3Error}-28379;
  175.     kQ3ErrorBoundingLoopFailed    = {TQ3Error}-28378;
  176.  
  177.  
  178. TYPE
  179.     TQ3Warning                     = LONGINT;
  180. CONST
  181.     kQ3WarningNone                = {TQ3Warning}0;                {  General System  }
  182.     kQ3WarningInternalException    = {TQ3Warning}-28300;            {  Object Warnings  }
  183.     kQ3WarningNoObjectSupportForDuplicateMethod = {TQ3Warning}-28299;
  184.     kQ3WarningNoObjectSupportForDrawMethod = {TQ3Warning}-28298;
  185.     kQ3WarningNoObjectSupportForWriteMethod = {TQ3Warning}-28297;
  186.     kQ3WarningNoObjectSupportForReadMethod = {TQ3Warning}-28296;
  187.     kQ3WarningUnknownElementType = {TQ3Warning}-28295;
  188.     kQ3WarningTypeAndMethodAlreadyDefined = {TQ3Warning}-28294;
  189.     kQ3WarningTypeIsOutOfRange    = {TQ3Warning}-28293;
  190.     kQ3WarningTypeHasNotBeenRegistered = {TQ3Warning}-28292;    {  Parameter Warnings  }
  191.     kQ3WarningVector3DNotUnitLength = {TQ3Warning}-28291;        {  IO Warnings  }
  192.     kQ3WarningInvalidSubObjectForObject = {TQ3Warning}-28290;
  193.     kQ3WarningInvalidHexString    = {TQ3Warning}-28289;
  194.     kQ3WarningUnknownObject        = {TQ3Warning}-28288;
  195.     kQ3WarningInvalidMetafileObject = {TQ3Warning}-28287;
  196.     kQ3WarningUnmatchedBeginGroup = {TQ3Warning}-28286;
  197.     kQ3WarningUnmatchedEndGroup    = {TQ3Warning}-28285;
  198.     kQ3WarningInvalidTableOfContents = {TQ3Warning}-28284;
  199.     kQ3WarningUnresolvableReference = {TQ3Warning}-28283;
  200.     kQ3WarningNoAttachMethod    = {TQ3Warning}-28282;
  201.     kQ3WarningInconsistentData    = {TQ3Warning}-28281;
  202.     kQ3WarningReadLessThanSize    = {TQ3Warning}-28280;
  203.     kQ3WarningFilePointerResolutionFailed = {TQ3Warning}-28279;
  204.     kQ3WarningFilePointerRedefined = {TQ3Warning}-28278;
  205.     kQ3WarningStringExceedsMaximumLength = {TQ3Warning}-28277;    {  Memory Warnings  }
  206.     kQ3WarningLowMemory            = {TQ3Warning}-28276;
  207.     kQ3WarningPossibleMemoryLeak = {TQ3Warning}-28275;            {  View Warnings  }
  208.     kQ3WarningViewTraversalInProgress = {TQ3Warning}-28274;
  209.     kQ3WarningNonInvertibleMatrix = {TQ3Warning}-28273;            {  Quaternion Warning  }
  210.     kQ3WarningQuaternionEntriesAreZero = {TQ3Warning}-28272;    {  Renderer Warning  }
  211.     kQ3WarningFunctionalityNotSupported = {TQ3Warning}-28271;    {  DrawContext Warning  }
  212.     kQ3WarningInvalidPaneDimensions = {TQ3Warning}-28270;        {  Pick Warning  }
  213.     kQ3WarningPickParamOutside    = {TQ3Warning}-28269;            {  Scale Warnings  }
  214.     kQ3WarningScaleEntriesAllZero = {TQ3Warning}-28268;
  215.     kQ3WarningScaleContainsNegativeEntries = {TQ3Warning}-28267; {  Generic Warnings  }
  216.     kQ3WarningParameterOutOfRange = {TQ3Warning}-28266;            {  Extension Warnings  }
  217.     kQ3WarningExtensionNotLoading = {TQ3Warning}-28265;            {  Object Warnings  }
  218.     kQ3WarningTypeAlreadyRegistered = {TQ3Warning}-28264;
  219.     kQ3WarningTypeSameVersionAlreadyRegistered = {TQ3Warning}-28263;
  220.     kQ3WarningTypeNewerVersionAlreadyRegistered = {TQ3Warning}-28262; {  Invalid Group Object  }
  221.     kQ3WarningInvalidObjectInGroupMetafile = {TQ3Warning}-28261;
  222.  
  223.  
  224.  
  225. TYPE
  226.     TQ3Notice                     = LONGINT;
  227. CONST
  228.     kQ3NoticeNone                = {TQ3Notice}0;
  229.     kQ3NoticeDataAlreadyEmpty    = {TQ3Notice}-28100;
  230.     kQ3NoticeMethodNotSupported    = {TQ3Notice}-28099;
  231.     kQ3NoticeObjectAlreadySet    = {TQ3Notice}-28098;
  232.     kQ3NoticeParameterOutOfRange = {TQ3Notice}-28097;
  233.     kQ3NoticeFileAliasWasChanged = {TQ3Notice}-28096;
  234.     kQ3NoticeMeshVertexHasNoComponent = {TQ3Notice}-28095;
  235.     kQ3NoticeMeshInvalidVertexFacePair = {TQ3Notice}-28094;
  236.     kQ3NoticeMeshEdgeVertexDoNotCorrespond = {TQ3Notice}-28093;
  237.     kQ3NoticeMeshEdgeIsNotBoundary = {TQ3Notice}-28092;
  238.     kQ3NoticeDrawContextNotSetUsingInternalDefaults = {TQ3Notice}-28091;
  239.     kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults = {TQ3Notice}-28090;
  240.     kQ3NoticeBrightnessGreaterThanOne = {TQ3Notice}-28089;
  241.     kQ3NoticeScaleContainsZeroEntries = {TQ3Notice}-28088;
  242.     kQ3NoticeSystemAlreadyInitialized = {TQ3Notice}-28087;
  243.     kQ3NoticeViewSyncCalledAgain = {TQ3Notice}-28086;
  244.     kQ3NoticeFileCancelled        = {TQ3Notice}-28085;
  245.  
  246.  
  247. TYPE
  248. {$IFC TYPED_FUNCTION_POINTERS}
  249.     TQ3ErrorMethod = PROCEDURE(firstError: TQ3Error; lastError: TQ3Error; reference: LONGINT); C;
  250. {$ELSEC}
  251.     TQ3ErrorMethod = ProcPtr;
  252. {$ENDC}
  253.  
  254. {$IFC TYPED_FUNCTION_POINTERS}
  255.     TQ3WarningMethod = PROCEDURE(firstWarning: TQ3Warning; lastWarning: TQ3Warning; reference: LONGINT); C;
  256. {$ELSEC}
  257.     TQ3WarningMethod = ProcPtr;
  258. {$ENDC}
  259.  
  260. {$IFC TYPED_FUNCTION_POINTERS}
  261.     TQ3NoticeMethod = PROCEDURE(firstNotice: TQ3Notice; lastNotice: TQ3Notice; reference: LONGINT); C;
  262. {$ELSEC}
  263.     TQ3NoticeMethod = ProcPtr;
  264. {$ENDC}
  265.  
  266. {*****************************************************************************
  267.  **                                                                             **
  268.  **                                Error Routines                                 **
  269.  **                                                                             **
  270.  ****************************************************************************}
  271. FUNCTION Q3Error_Register(errorPost: TQ3ErrorMethod; reference: LONGINT): TQ3Status; C;
  272. FUNCTION Q3Warning_Register(warningPost: TQ3WarningMethod; reference: LONGINT): TQ3Status; C;
  273. FUNCTION Q3Notice_Register(noticePost: TQ3NoticeMethod; reference: LONGINT): TQ3Status; C;
  274. {
  275.  *  Getting error codes -
  276.  *    Clears error type on next entry into system (except all of these 
  277.  *  error calls), and returns the last error, and optionally the 
  278.  *    first error. The parameter to these "_Get" calls may be NULL.
  279.  }
  280. FUNCTION Q3Error_Get(VAR firstError: TQ3Error): TQ3Error; C;
  281. FUNCTION Q3Error_IsFatalError(error: TQ3Error): TQ3Boolean; C;
  282. FUNCTION Q3Warning_Get(VAR firstWarning: TQ3Warning): TQ3Warning; C;
  283. FUNCTION Q3Notice_Get(VAR firstNotice: TQ3Notice): TQ3Notice; C;
  284. {$IFC TARGET_OS_MAC }
  285. FUNCTION Q3MacintoshError_Get(VAR firstMacErr: OSErr): OSErr; C;
  286. {$ENDC}  {TARGET_OS_MAC}
  287.  
  288.  
  289. {$ALIGN RESET}
  290. {$POP}
  291.  
  292. {$SETC UsingIncludes := QD3DErrorsIncludes}
  293.  
  294. {$ENDC} {__QD3DERRORS__}
  295.  
  296. {$IFC NOT UsingIncludes}
  297.  END.
  298. {$ENDC}
  299.